<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>调拨单</title>
	<link rel="stylesheet" type="text/css" href="/../extjs/resources/css/ext-all.css"/>
	<script type="text/javascript" src="/../extjs/ext-all.js"></script>
	<script type="text/javascript" src="/../extjs/ext-lang-zh_CN.js"></script>
	<script type="text/javascript" src="/../zyz_js/Ys.js"></script>
	<script type="text/javascript">
	var pageBean = null;
 	var isaddorup = 0; //0：新增  - 1：修改
	Ext.onReady(function() {
		// Ext.BLANK_IMAGE_URL = "extjs/resources/images/default/s.gif";
		Ext.QuickTips.init();
		windowst.show();
		Ext.getCmp('addbtn').disable();//默认禁用保存
		query(0);
	});

	var fielmenu2=new Ext.menu.Menu({
		items:[
		       {text:'新增',handler : function(btn) {
		    	 	 	isaddorup = 0;
		     			Ext.getCmp('addbtn').enable();
		     			Ext.getCmp('previouspagebtn').disable();
		     			Ext.getCmp('nextpagebtn').disable();
		     			Ext.getCmp('delbtn').disable();
		     			Ext.getCmp('shbtn').disable();
		     			Ext.getCmp('fshbtn').disable();
		    	  		delAll();
		    	  		var getId_date = Ext.getCmp("moveDate").getRawValue();
		    	  		Ext.Ajax.request({  
				           	url : "/DsdsAdjustMainAction/getID",  
				          	params :{"date":getId_date},	
				            method : "post",  
				            success : function(response, options) {  
				        		Ext.getCmp("moveNO").setValue(response.responseText);
				            } 
				        }); 
					}
				},{text:'修改',handler : function(btn) {
					isaddorup = 1;
	     			Ext.getCmp('addbtn').enable();
	     			Ext.getCmp('previouspagebtn').disable();
	     			Ext.getCmp('nextpagebtn').disable();
	     			Ext.getCmp('delbtn').disable();
	     			Ext.getCmp('shbtn').disable();
	     			Ext.getCmp('fshbtn').disable();
				}}]
	});

	var fielmenu3=new Ext.menu.Menu({
		items:[{text:'物料组合设定'},{text:'批次变更单价'}]
	});

	var stroedt = Ext.create('Ext.data.Store', {
		model : 'User',
		fields : [ 'name', 'dizhi', 'bianma', 'bianma', 'lianxi' ],
		data : {
			'items' : [ {
				'name' : '10111',
				"dizhi" : "北京",
				"bianma" : "40016",
				"lianxi" : "李忠"
			}, {
				'name' : '10112',
				"dizhi" : "上海",
				"bianma" : "68016",
				"lianxi" : "朱经理"
			}, {
				'name' : '10113',
				"dizhi" : "天津",
				"bianma" : "408973",
				"lianxi" : "周总"
			}, {
				'name' : '10114',
				"dizhi" : "重庆",
				"bianma" : "404567",
				"lianxi" : "刘经理"
			} ]
		},
		proxy : {
			type : 'memory',
			reader : {
				type : 'json',
				root : 'items'
			}
		}
	});

	var grids = Ext.create('Ext.grid.Panel', {
		listeners : {
			containerdblclick : function(grid, e, eOpts) { // 单击事件
				grid.getStore().add({
					'serNO' : '1',
					'prodID' : '',
					'quantit' : '',
					'haveBatch' : '',
					'itemRemark' : ''
				}); 

			},

		},
		plugins : [ Ext.create('Ext.grid.plugin.CellEditing', {
			clicksToEdit : 1
		}) ],
		columns : [ {
			header : '(栏号)',
			xtype: 'rownumberer',
			style : 'padding-left:40px;',
			dataIndex : 'lh',
			sortable: false
		}, {
			header : '物料编号',
			dataIndex : 'prodID',
			style : "color:blue",
			editor: {
				xtype:'textfield',
			 	listeners:{
					focus:function(grid, e, eOpts){
//							windows2.show();
					}
				}
			 }
		}, {
			header : '(物料名称)',
			dataIndex : 'prodName'
		}, {
			header : '(规格型号)',
			dataIndex : 'prodSize'
		}, {
			header : '(单位)',
			dataIndex : 'unit'
		}, {
			header : '数量',
			dataIndex : 'quantit',
			editor: {
				xtype:'textfield',
			 	listeners:{
					focus:function(grid, e, eOpts){
//							windows2.show();
					}
				}
			 }
		}, {
			header : '(批号)',
			dataIndex : 'haveBatch'
		}, {
			header : '分录备注',
			dataIndex : 'itemRemark',
			editor: {
				xtype:'textfield',
			 	listeners:{
					focus:function(grid, e, eOpts){
//							windows2.show();
					}
				}
			 }
		}, ],
		height : 130,
		width : "100%",
		autoScroll : true,
		viewConfig : {
			style : {
				overflow : 'auto',
				overflowX : 'hidden'
			}
		}

	})

	var filterPanel = Ext.create('Ext.panel.Panel', {
		bodyPadding : 6, // 避免Panel中的子元素紧邻边框
		width : 820,
		height : 170,
		items : [grids],
		bbar : [ {
			xtype : "label",
			text : '合计:',
			width : 90
		}, {
			xtype : "textfield",
			disabled : true,
			width : 90,
			margin : '0 210',
			value : '0.00'
		} ],
	});
	var tableds = Ext.create('Ext.TabPanel', {
		width : "100%",
		height : 230,
		autoScroll : true,
		bodyPadding : 5,
		items : [ {
			title : '内容',
			autoScroll : true,
			items : [ filterPanel ]
		}, {
			title : '备注',
			xtype : 'textarea',
			name : 'Remark',
			fieldLabel : '备注',
			labelWidth : 30,
		} ],
	});

	//表尾form
	var formsg = Ext.create('Ext.form.Panel', {
		bodyPadding : 5,
		height : '100%',
		layout : "column",
		baseCls : 'x-plain',
		items : [ {
			xtype : 'textfield',
			id : 'makerName',
			name : 'makerName',
			bodyPadding : 5,
			style : 'margin-left:20px',
			fieldLabel : '制单人员',
			width : 250,
			labelWidth : 80,
			anchor : '100%',
		},{
			xtype : 'textfield',
			id : 'makerID',
			name : 'makerID',
			hidden : true,
		}, {
			xtype : 'textfield',
			id : 'permitterName',
			name : 'permitterName',
			fieldLabel : '复核人员',
			style : 'margin-left:25px',
			width : 290,
			labelWidth : 90,
			anchor : '100%',
		} ,{
			xtype : 'textfield',
			id : 'permitterID',
			name : 'permitterID',
			hidden : true,
		}, ],
	});

	//表头form
	var forms = Ext.create('Ext.form.Panel', {
		bodyPadding : 5,
		height : '100%',
		layout : "column",
		baseCls : 'x-plain',
		autoScroll : true,
		items : [
				{
					xtype : 'textfield',
					id : 'wareOutName',
					name : 'wareOutName',
					style : 'margin-left:20px;color:blue',
					fieldLabel : '调出仓库',
					width : 250,
					labelWidth : 80,
					// emptyText:'请输入客户',
					anchor : '100%',
				},{
					xtype : 'textfield',
					id : 'wareOutID',
					name : 'WareOutID',
					hidden : true,
				},
				{
					id : 'moveDate',
					style : 'margin-left:25px;color:blue',
					xtype : 'datefield',
					name : 'MoveDate',
					format : 'Y-m-d',
					value : Ext.util.Format.date(Ext.Date.add(new Date(),
							Ext.Date.MONTH, 1), "Y-m-d"),
					fieldLabel : '单据日期',

					width : 300,
					labelWidth : 100,
					anchor : '100%',
				}, {
					xtype : 'textfield',
					id : 'wareName',
					name : 'wareName',
					style : 'margin-left:20px;color:blue',
					fieldLabel : '调入仓库',
					width : 250,
					labelWidth : 80,
					anchor : '100%',
				}, {
					xtype : 'textfield',
					id : 'wareID',
					name : 'wareID',
					hidden : true,
				},{
					id : 'moveNO',
					xtype : 'textfield',
					name : 'BillNo',
					style : "color:blue;margin-left:25px",
					fieldLabel : '单据号码',
					width : 300,
					labelWidth : 100,
					anchor : '100%',
				}, tableds, formsg ]
	});
	
	
	// 工具栏
	var toolbar = Ext.create("Ext.Toolbar", {
		renderTo : Ext.getBody(),
		width : "100%",
		items : [ {
			id : "previouspagebtn",
			text : "上一页",
			handler : function(btn) {
				query(pageBean.previouspage);
			}
		}, {
			id : "nextpagebtn",
			text : "下一页",
			handler : function(btn) {
				query(pageBean.nextpage);
			}
		}, {
			id:"addbtn",
			text : "保存",handler:function(){
				var grid = grids.getStore();
				var data={
						moveNO : Ext.getCmp('moveNO').getValue(),
						wareOutID : Ext.getCmp('wareOutID').getValue(),
						wareID : Ext.getCmp('wareID').getValue(),
						moveDate : Ext.getCmp('moveDate').getRawValue(),
						maker : Ext.getCmp('makerID').getValue(),
						permitter : Ext.getCmp('permitterID').getValue(),
						dsdsMoveSub: Ext.pluck(grid.data.items,"data"),
				};
// 				alert(JSON.stringify(data));
				var url = "";
				if(isaddorup == 0){
					url =  "/DsdsAdjustMainAction/addDsdsAdjustMain";
				}else if(isaddorup == 1){
					url =  "/DsdsAdjustMainAction/updateDsdsAdjustMain";
				}
				Ext.Ajax.request({  
			            //被用来向服务器发起请求默认的url  
			           		 url : url,  
			           	 //请求时发送后台的参数,既可以是Json对象，也可以直接使用“name = value”形式的字符串  
			          		params :JSON.stringify(data),	
			          	headers:{"Content-Type":"application/json"},
			            //请求时使用的默认的http方法  
			            method : "post",  
			            //请求成功时回调函数  
			            success : function(response, options) {  
			           		var msg = Ext.decode(response.responseText);
			                Ext.Msg.alert("信息提示",msg.txtmsg);  
			     			query(0);
			            },  
			            //请求失败时回调函数  
			            failure : function(response, options) {
			            	if(isaddorup == 0){
				                Ext.Msg.alert("信息提示", "信息新增出错，请联系管理员!");  
							}else if(isaddorup == 1){
				                Ext.Msg.alert("信息提示", "信息修改出错，请联系管理员!");  
							}
			     			query(0);
			            }  
			        }); 
					Ext.getCmp('addbtn').disable();
	     			Ext.getCmp('previouspagebtn').enable();
	     			Ext.getCmp('nextpagebtn').enable();
	     			Ext.getCmp('delbtn').enable();
	     			Ext.getCmp('shbtn').enable();
	     			Ext.getCmp('fshbtn').enable();
				}
		}, {
			id : "delbtn",
			text : "删除",handler:function(){
				var delid = Ext.getCmp("moveNO").getValue();
				Ext.Ajax.request({  
		           		 url : "/DsdsAdjustMainAction/delDsdsAdjustMainbyID",  
		          		params :{"id":delid},	
		            method : "post",  
		            success : function() {  
		                Ext.Msg.alert("信息提示", "成功删除所选记录！");  
		     			query(0);
		            },  
		            failure : function() {  
		                Ext.Msg.alert("信息提示", "信息删除出错，请联系管理员!");  
		            }  
		        }); 
			}
		}, {
			id : "shbtn",
			text : "审核",
			style: "margin-left:320px"
		}, {
			id : "fshbtn",
			text : "反审核"
		}  ]
	});
	// winform窗口
	var windowst = new Ext.Window({
		width : 640,
		height : 420,
		title : "调拨单",
		closable : true,
		resizable : false, // 设置是否可以改变大小
		draggable : true,
		anchor : '100%',
		items : [toolbar,forms],
		bbar:[{xtype:"splitbutton",text:'操作',width:90,menu:fielmenu2},
			{xtype:"splitbutton",text:'功能',width:90,menu:fielmenu3}],
	});
	var windows2 = new Ext.Window({
		width : 400,
		height : 300,
		title : "物料选择",
		closable : true,
		resizable : false, //设置是否可以改变大小
		draggable : true,
		closeAction : "hide",
	});
	
	//分与查询
	function query(pagenum){
		//数据绑定
		Ext.Ajax.request({
			url : '/DsdsAdjustMainAction/queryAll',
			params : {"pagenum" : pagenum},	
			success : function(response, options) {
				var res = Ext.decode(response.responseText);
				pageBean = res;
				var data = res.pagedata[0];
				// 表头
				Ext.getCmp("wareID").setValue(data.wareID);
				Ext.getCmp("wareName").setValue(data.wareName);
				Ext.getCmp("wareOutID").setValue(data.wareOutID);
				Ext.getCmp("wareOutName").setValue(data.wareOutName);
				Ext.getCmp("moveNO").setValue(data.moveNO);
				Ext.getCmp("moveDate").setValue(data.moveDate);

				//表身
				var info = data.dsdsMoveSubvo;
				grids.getStore().loadData(info);  
				
				// 表尾
				Ext.getCmp("makerID").setValue(data.makerID);
				Ext.getCmp("makerName").setValue(data.makerName);
				Ext.getCmp("permitterID").setValue(data.permitterID);
				Ext.getCmp("permitterName").setValue(data.permitterName);
			}
		})
	}

	//数据清空
	function delAll(){
		// 表头
		Ext.getCmp("wareID").setValue(null);
		Ext.getCmp("wareName").setValue(null);
		Ext.getCmp("wareOutID").setValue(null);
		Ext.getCmp("wareOutName").setValue(null);
		Ext.getCmp("moveNO").setValue(null);
		Ext.getCmp("moveDate").setValue(new Date());
		//表身
		grids.getStore().removeAll();  
		// 表尾
		Ext.getCmp("makerID").setValue(null);
		Ext.getCmp("makerName").setValue(null);
		Ext.getCmp("permitterID").setValue(null);
		Ext.getCmp("permitterName").setValue(null);
	}
	</script>
</head>
<body>

</body>
</html>